package cn.hdu.liang.concurrency;

import java.io.IOException;
import java.util.concurrent.TimeUnit;

class UnresponsiveUI {
    private volatile double d = 1;

    public UnresponsiveUI() throws InterruptedException, IOException {
        while(d > 0) {
            d = d + (Math.PI + Math.E) / d;
        }
        System.in.read();
    }
}


public class ResponsiveUI extends Thread {
    private static volatile double d = 1;

    public ResponsiveUI() {
        setDaemon(true);
        start();
    }

    @Override
    public void run() {
        while(true) {
            d = d + (Math.PI + Math.E) / d;
        }
    }

    public static void main(String[] args) throws IOException, InterruptedException {
        //new UnresponsiveUI();
        new ResponsiveUI();
        System.in.read();
        System.out.println(d);
        TimeUnit.SECONDS.sleep(2);
    }
}


